home *** CD-ROM | disk | FTP | other *** search
/ Technotools / Technotools (Chestnut CD-ROM)(1993).ISO / lang_c / ucturbo2 / keydef.h < prev    next >
Text File  |  1987-05-17  |  6KB  |  239 lines

  1. /************************************************************************
  2.  *                                                                      *
  3.  *                        keydef.h                                      *
  4.  *                                                                      *
  5.  *     This header defines internal key codes for special extended      *
  6.  *   keys on IBM and Clone computers.  The internal code is found by    *
  7.  *   adding 256 to the actual key code for all special keys.            *
  8.  *                                                                      *
  9.  *                   Copyright (c)  1987 by                             *
  10.  *                      David A.  Miller                                *
  11.  *                      Unicorn Software                                *
  12.  *                                                                      *
  13.  ************************************************************************/
  14.  
  15.  
  16. /*  Keyboard Function calls */
  17.  
  18. #define KBD_READ     0
  19. #define KBD_READY    1
  20. #define KBD_STATUS   2
  21.  
  22. /*  Define bit masks for particular keys and states */
  23.  
  24. #define KS_RSHIFT     0x0001
  25. #define KS_LSHIFT     0x0002
  26. #define KS_CONTROL    0x0004
  27. #define KS_ALT        0x0008
  28. #define KS_SL_STATE   0x0010      /* Ctrl-Break on Tandy 1000 */
  29. #define KS_NL_STATE   0x0020
  30. #define KS_CL_STATE   0x0040
  31. #define KS_INS_STATE  0x0080
  32.  
  33.  
  34.  
  35. /* Define function keys first */
  36.  
  37. #define K_F1   -59
  38. #define K_F2   -60
  39. #define K_F3   -61
  40. #define K_F4   -62
  41. #define K_F5   -63
  42. #define K_F6   -64
  43. #define K_F7   -65
  44. #define K_F8   -66
  45. #define K_F9   -67
  46. #define K_F10  -68
  47.  
  48. /* Now define the shifted function keys */
  49.  
  50.  
  51. #define K_SF1   -84
  52. #define K_SF2   -85
  53. #define K_SF3   -86
  54. #define K_SF4   -87
  55. #define K_SF5   -88
  56. #define K_SF6   -89
  57. #define K_SF7   -90
  58. #define K_SF8   -91
  59. #define K_SF9   -92
  60. #define K_SF10  -93
  61.  
  62. /* Now for the Control function keys */
  63.  
  64. #define K_CF1   -94
  65. #define K_CF2   -95
  66. #define K_CF3   -96
  67. #define K_CF4   -97
  68. #define K_CF5   -98
  69. #define K_CF6   -99
  70. #define K_CF7  -100
  71. #define K_CF8  -101
  72. #define K_CF9  -102
  73. #define K_CF10 -103
  74.  
  75. /* Now for the Alternate function keys */
  76.  
  77.  
  78. #define K_AF1  -104
  79. #define K_AF2  -105
  80. #define K_AF3  -106
  81. #define K_AF4  -107
  82. #define K_AF5  -108
  83. #define K_AF6  -109
  84. #define K_AF7  -110
  85. #define K_AF8  -111
  86. #define K_AF9  -112
  87. #define K_AF10 -113
  88.  
  89. /* Now define the unshifted keypad keys */
  90.  
  91.  
  92. #define K_HOME     -71
  93. #define K_END      -79
  94. #define K_PGUP     -73
  95. #define K_PGDN     -81
  96. #define K_LEFT     -75
  97. #define K_RIGHT    -77
  98. #define K_UP       -72
  99. #define K_DOWN     -80
  100.  
  101.  
  102.  
  103.  
  104. /*  Alternate Cursor Key pad */
  105.  
  106. #define K_AHOME    -422
  107. #define K_AEND        1
  108. #define K_APGUP       9
  109. #define K_APGDN       3
  110. #define K_ALEFT    -146
  111. #define K_ARIGHT   -234
  112. #define K_AUP      -145
  113. #define K_ADN      -151
  114.  
  115.  
  116.  
  117. /*  Shift Cursor Key pad */
  118.  
  119. #define K_SHOME     -74
  120. #define K_SEND       49
  121. #define K_SPGUP      57
  122. #define K_SPGDN      51
  123. #define K_SLEFT    -135
  124. #define K_SRIGHT   -136
  125. #define K_SUP      -133
  126. #define K_SDN      -134
  127.  
  128.  
  129.  
  130. /*  Control Cursor Key pad */
  131.  
  132. #define K_CHOME    -119
  133. #define K_CEND     -117
  134. #define K_CPGUP    -132
  135. #define K_CPGDN    -118
  136. #define K_CLEFT    -115
  137. #define K_CRIGHT   -116
  138.  
  139. /* Standard Control Key Definitions */
  140.  
  141. #define K_CTRLA     1
  142. #define K_CTRLB     2
  143. #define K_CTRLC     3
  144. #define K_CTRLD     4
  145. #define K_CTRLE     5
  146. #define K_CTRLF     6
  147. #define K_CTRLG     7
  148. #define K_CTRLH     8
  149. #define K_CTRLI     9
  150. #define K_CTRLJ     10
  151. #define K_CTRLK     11
  152. #define K_CTRLL     12
  153. #define K_CTRLM     13
  154. #define K_CTRLN     14
  155. #define K_CTRLO     15
  156. #define K_CTRLP     16
  157. #define K_CTRLQ     17
  158. #define K_CTRLR     18
  159. #define K_CTRLS     19
  160. #define K_CTRLT     20
  161. #define K_CTRLU     21
  162. #define K_CTRLV     22
  163. #define K_CTRLW     23
  164. #define K_CTRLX     24
  165. #define K_CTRLY     25
  166. #define K_CTRLZ     26
  167.  
  168. /*  The Alphabetic Alternate Keys  */
  169.  
  170. #define K_ALTA     30
  171. #define K_ALTB     48
  172. #define K_ALTC     46
  173. #define K_ALTD     32
  174. #define K_ALTE     18
  175. #define K_ALTF     33
  176. #define K_ALTG     34
  177. #define K_ALTH     35
  178. #define K_ALTI     23
  179. #define K_ALTJ     36
  180. #define K_ALTK     37
  181. #define K_ALTL     38
  182. #define K_ALTM     50
  183. #define K_ALTN     49
  184. #define K_ALTO     24
  185. #define K_ALTP     25
  186. #define K_ALTQ     16
  187. #define K_ALTR     19
  188. #define K_ALTS     31
  189. #define K_ALTT     20
  190. #define K_ALTU     22
  191. #define K_ALTV     47
  192. #define K_ALTW     17
  193. #define K_ALTX     45
  194. #define K_ALTY     21
  195. #define K_ALTZ     44
  196.  
  197. /* Special Alternate Keys */
  198.  
  199. #define K_ALT1     -120
  200. #define K_ALT2     -121
  201. #define K_ALT3     -122
  202. #define K_ALT4     -123
  203. #define K_ALT5     -124
  204. #define K_ALT6     -125
  205. #define K_ALT7     -126
  206. #define K_ALT8     -127
  207. #define K_ALT9     -128
  208. #define K_ALT0     -129
  209. #define K_ALTDASH  -130
  210. #define K_ALTEQU   -131
  211.  
  212. /*  Miscellaneous Keys  */
  213.  
  214. #define K_ESC        27
  215. #define K_SPACE      32
  216. #define K_INS       -82
  217. #define K_DEL       -83
  218. #define K_TAB         9
  219. #define K_BACKTAB    15
  220. #define K_RETURN     13
  221. #define K_SRETURN    13
  222. #define K_CRETURN    10
  223. #define K_CINS     -159
  224. #define K_CDEL     -157
  225. #define K_CBKSPACE  127
  226. #define K_AINS     -160
  227. #define K_ADEL     -158
  228. #define K_ABKSPACE -140
  229. #define K_AESC     -139
  230. #define K_SINS       43
  231. #define K_SDEL       45
  232. #define K_SBKSPACE    8
  233. #define K_CPRINT   -114
  234. #define K_APRINT    -70
  235. #define K_PRINT      16
  236. #define K_ARETURN  -143
  237.  
  238.  
  239.